package com.eastfair.security.config;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

import java.util.List;

/**
 * <p>
 *  动态参数注入
 *  使用nacos的动态刷新功能，
 *  类上增加@RefreshScope
 *  属性上使用@Value
 *  application拉取nacos配置处增加
 *     shared-configs:
 *      - dataId: common.yml
 *        refresh: true
 *        group: DEFAULT_GROUP
 *  可以实现，nacos修改 common.yml配置文件，common中的配置可以刷新到类上有@RefreshScope属性中
 * </p>
 *
 * @author ligang
 * @version 1.0.0
 * @since 2023/7/5 16:37
 */
@RefreshScope
@Data
public class DynamicParameterConfig {

    //是否开启权限校验的开关
    @Value("${com.eastfair.interfacePrimark:true}")
    private Boolean interfacePrimark;

    @Value("#{'${url-ignore.interfaceList:}'.empty ? null : '${url-ignore.interfaceList:}'.split(' ')}")
    private List<String> interfaceList;

}
